home *** CD-ROM | disk | FTP | other *** search
/ Cubase Magazine 51 / Issue #51.iso / pc / 3-TUTORIAL / CUBASIS VST / source / AGain / AGainMain.cpp < prev   
C/C++ Source or Header  |  2002-11-07  |  2KB  |  84 lines

  1. /*-----------------------------------------------------------------------------
  2.  
  3. ===========================================================================
  4. Rivista  : Cubase Magazine
  5. Rubrica  : CUBASIS VST FACILE (15)
  6. Articolo : 'Realizziamo un semplice Plug-In per Cubasis VST 3.0 (parte IV)'
  7.        di: Giuseppe Varriale (admin@websoftconsulting.com)
  8. Contenuto: analisi, personalizzazione e costruzione a scopo didattico
  9.            di un semplice plug-in (CMGain) per Cubasis VST 3.
  10.  
  11. File     : AGainMain.cpp
  12. ===========================================================================
  13.  
  14. Esempio originale del VST SDK: AGain
  15. ⌐ 1999, Steinberg Soft und Hardware GmbH, All Rights Reserved
  16.  
  17.  
  18. -----------------------------------------------------------------------------*/
  19.  
  20. #include "AGain.hpp"
  21.  
  22. static AudioEffect *effect = 0;
  23. bool oome = false;
  24.  
  25. #if MAC
  26. #pragma export on
  27. #endif
  28.  
  29. // prototipo della funzione main
  30. #if BEOS
  31. #define main main_plugin
  32. extern "C" __declspec(dllexport) AEffect *main_plugin (audioMasterCallback audioMaster);
  33.  
  34. #else
  35. AEffect *main (audioMasterCallback audioMaster);
  36. #endif
  37.  
  38. //-----------------------------------------------------------------------------
  39. // la funzione main
  40.  
  41. AEffect *main (audioMasterCallback audioMaster)
  42. {
  43.     // controlla versione del vst: se ritorna 0 Φ una sua versione vecchia!
  44.     if (!audioMaster (0, audioMasterVersion, 0, 0, 0, 0))
  45.         return 0;  // old version
  46.  
  47.     // istanzia un nuovo oggetto plug-in di Classe AGain
  48.     effect = new AGain (audioMaster);
  49.     if (!effect)
  50.         return 0;
  51.     if (oome)
  52.     {
  53.         delete effect;
  54.         return 0;
  55.     }
  56.     return effect->getAeffect ();
  57. }
  58.  
  59. #if MAC
  60. #pragma export off
  61. #endif
  62.  
  63.  
  64. #if WIN32
  65. #include <windows.h>
  66. void* hInstance;
  67.  
  68. //-----------------------------------------------------------------------------
  69. // æpunto di accessoÆ (entry point) di Windows alla libreria DLL
  70.  
  71. /* 
  72. breve estratto dallÆhelp del Microsfot SDK
  73. DllMain  Φ un metodo opzionale per l'entrata in una dynamic-link library (DLL).
  74. Se si usa tale funzione essa viene chiamata dal sistema quando processi e threads sono inizializzati 
  75. e terminati od a seguito di chiamate alle funzioni LoadLibrary e FreeLibrary.
  76. */
  77.  
  78. BOOL WINAPI DllMain (HINSTANCE hInst, DWORD dwReason, LPVOID lpvReserved)
  79. {
  80.     hInstance = hInst;
  81.     return 1;
  82. }
  83. #endif
  84.